@charset "UTF-8";

/*common
------------------------------------------------------------------------------------------------------------------------------------ */
html { font-size: 62.5%; } /* 10px */
body { color: #444; line-height: 1.7; font-size: 1.5rem; font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.pc_only { display: block; }
.sp_only { display: none; }
img { width: 100%; max-width: 100%; height: auto;}

@media screen and (max-width:768px) {
body { line-height: 1.5; font-size: 1.5rem;}
.pc_only { display: none; }
.sp_only { display: block; }
}

@media screen and (max-width:320px) {
html { font-size: 53.3%; } /* 8.5px */
}


/*common_parts
------------------------------------------------------------------------------------------------------------------------------------ */
/* contents */
#contents { width: 980px; margin: 0 auto;}
#contents section { margin-bottom: 55px; padding-bottom: 70px; border-bottom: solid 1px #c7c7c7;}
#contents section .block-ttl { margin-bottom: 50px;}
#contents section .block-ttl h2 { display: block; line-height: 1.5; font-size: 3rem;}
#contents section .btn { width: 400px; margin: 0 auto;} 

@media only screen and (max-width:768px) {
#contents { width: 100%; box-sizing: border-box;}
#contents section { margin: 0 20px 40px; padding-bottom: 50px;}
#contents section .block-ttl { margin: 0 0 50px;}
#contents section .block-ttl h2 { line-height: 1.4; font-size: 2.2rem;}
#contents section .btn { width: 100%;} 
}


/*contents
------------------------------------------------------------------------------------------------------------------------------------ */
/* section-main */
#section-main { position: relative; margin-bottom: 75px; padding-top: 35.7%; background:url("../images/main.jpg") center top no-repeat; background-size: cover;}
#section-main > div { position: absolute; top: 50%; left: 0; width: 100%; padding: 0 10vw; transform: translate(0,-55%); box-sizing: border-box;}
#section-main h1 { line-height: 1.2; font-size: 5rem;}
#section-main div p.read01 { font-weight: bold; font-size: 2.4rem;}

@media only screen and (max-width: 1100px) {
#section-main > div { padding: 0 5vw;}
#section-main h1 { font-size: 4.5vw;}
#section-main div p.read01 { font-size: 2.2vw;}
}

@media only screen and (max-width:768px) {
#section-main { margin-bottom: 50px; padding-top: 107%; background: url("../images/main_sp.jpg") center top no-repeat; background-size: cover;}
#section-main > div { top: 8vw; padding: 0 6vw; transform: translate(0,0);}
#section-main h1 { margin-bottom: 2px; font-size: 9.3vw;}
#section-main div p.read01 { line-height: 1.4; font-size: 5vw;}
}

/* section01 */
#section01 .block-ttl { position: relative;}
#contents #section01 .block-ttl h2 { margin-bottom: 15px; padding-left: 100px; background: url("../images/section01_ttlicon.png") 10px 0 no-repeat;}
#section01 .block-ttl .ph { position: absolute; top: 0; right: 0;}
#section01 .block-ttl ul { padding-left: 100px;}
#section01 .block-ttl ul li { margin: 0 0 5px 1em; text-indent: -1em; font-weight: bold;}
#section01 .block-ttl ul li::before { content: "●"; color: #a3e7d7;}
#section01 .block-ttl ul li span { color: #00b287;}

#section01 .table { display: flex; justify-content: space-between; margin-bottom: 40px;}
#section01 .table .item { width: 190px; margin-top: 45px;}
#section01 .table .item div { position: relative; height: 70px; margin-bottom: 5px; padding-left: 22px; border-radius: 50px 0 0 50px; font-weight: bold; font-size: 1.4rem;}
#section01 .table .item div:nth-child(1) { background: #f0f0f0;}
#section01 .table .item div:nth-child(2) { background: #d9faf2; color: #00b287;}
#section01 .table .item div p { position: absolute; width: 100%; top: 50%; transform: translateY(-50%);}

#section01 .table .inner { width: 785px; text-align: center; font-size: 1.3rem;}
#section01 .table .inner ul { display: flex; justify-content: space-between;}
#section01 .table .inner ul li { width: 190px;}
#section01 .table .inner ul li:nth-child(3) { width: 200px;}
#section01 .table .inner ul li > div { position: relative; margin-bottom: 5px; line-height: 1.5;}
#section01 .table .inner ul li > div.ttl { height: 40px; background: #a3a3a3; border-radius: 5px 5px 0 0; color: #fff; line-height: 1; font-weight: bold;}
#section01 .table .inner ul li > div.txt01 { height: 70px; background: #f0f0f0;}
#section01 .table .inner ul li > div.txt02 { height: 70px; background: #d9faf2;}
#section01 .table .inner ul li > div p { position: absolute; width: 100%; top: 50%; transform: translateY(-50%);}
#section01 .table .inner ul li > div p span { display: block; margin-left: 1em; text-indent: -1em; font-size: 1.1rem;}
#section01 .table .inner ul li > div p span::before { content: "※";}

#section01 .table .inner .fukidashi { display: flex; justify-content: space-between; line-height: 1.5; color: #00b287; font-weight: bold;}
#section01 .table .inner .fukidashi > div { position: relative;}
#section01 .table .inner .fukidashi > div:nth-child(1) { width: 385px; padding: 18px 5px 0 3px; box-sizing: border-box;}
#section01 .table .inner .fukidashi > div:nth-child(2) { width: 200px; padding: 18px 5px; box-sizing: border-box;}
#section01 .table .inner .fukidashi > div:nth-child(3) { width: 190px; padding: 18px 5px; box-sizing: border-box;}
#section01 .table .inner .fukidashi > div::before { content: ""; position: absolute; z-index: 10; display: block; width: 28px; height: 18px; top:3px; right: 0; left: 0; margin: auto; background: url("../images/section01_arrow.png") 0 0 no-repeat; background-size:cover;}
#section01 .table .inner .fukidashi > div:first-child::before { left: -180px;}
#section01 .table .inner .fukidashi > div:first-child::after { content: ""; position: absolute; z-index: 10; display: block; width: 28px; height: 18px; top:3px; right: 80px; margin: auto; background: url("../images/section01_arrow.png") 0 0 no-repeat; background-size:cover;}
#section01 .table .inner .fukidashi > div > div { position: relative; height: 54px; border: solid 3px #00b287; border-radius: 50px;}
#section01 .table .inner .fukidashi > div > div p { position: absolute; width: 100%; top: 50%; transform: translateY(-50%);}

@media only screen and (max-width:768px) {
#section01 .block-ttl { display: block;}
#contents #section01 .block-ttl h2 { margin-bottom: 25px; padding-left: 70px; background-position: 3px 0; background-size: 53px auto;}
#section01 .block-ttl .ph { position: static; margin-bottom: 20px;}
#section01 .block-ttl ul { padding-left: 10px;}
#section01 .block-ttl ul li { font-size: 1.6rem;}

#section01 .table { display: block;}
#section01 .table .item { display: none;}

#section01 .table .inner { width: 100%; font-size: 1.5rem;}
#section01 .table .inner ul { display: block;}
#section01 .table .inner ul li,
#section01 .table .inner ul li:nth-child(3) { width: 100%;}
#section01 .table .inner ul li > div { display: flex; align-items: center;}
#section01 .table .inner ul li > div.ttl { height: auto; margin-bottom: 20px; padding: 17px 0; border-radius: 10px; font-size: 1.7rem;}
#section01 .table .inner ul li > div.txt01 { height: auto; margin-bottom: 20px; padding-bottom: 20px; background: url("../images/cmn_dot_sp.png") left bottom repeat-x; background-size: auto 1px;}
#section01 .table .inner ul li > div.txt02 { height: auto; margin-bottom: 5px; background: #fff;}
#section01 .table .inner ul li > div p { position: static; transform: translateY(0);}
#section01 .table .inner ul li > div p.item01sp { width: 40%; padding: 17px 0; background: #e8e8e8; border-radius: 10px; font-weight: bold;}
#section01 .table .inner ul li > div p.item02sp { width: 40%; padding: 17px 0; background: #e6f9f5; border-radius: 10px; font-weight: bold; color: #00b287;}
#section01 .table .inner ul li > div p.txt { width: 60%; padding-left: 20px; text-align: left; box-sizing: border-box;}
#section01 .table .inner ul li > div p span { margin-top: 5px; font-size: 1.3rem;}

#section01 .table .inner ul li > div.fukidashisp { position: relative; display: block; margin-bottom: 40px; padding: 18px 0 0; line-height: 1.5; color: #00b287; font-weight: bold; font-size: 1.6rem;}
#section01 .table .inner ul li > div.fukidashisp::before { content: ""; position: absolute; z-index: 10; display: block; width: 28px; height: 18px; top:3px; right: 0; left: 0; margin: auto; background: url("../images/section01_arrow.png") 0 0 no-repeat; background-size:cover;}
#section01 .table .inner ul li > div.fukidashisp div { padding: 13px 0; border: solid 3px #00b287; border-radius: 50px;}

#section01 .table .inner .fukidashi { display: none;}
}

/* section02 */
#contents #section02 .block-ttl { height: 75px; margin-bottom: 16px; padding:14px 0 0 100px; background: url("../images/section02_ttlicon.png") 0 0 no-repeat; box-sizing: border-box;}

@media only screen and (max-width:768px) {
#contents #section02 .block-ttl { height: 54px; margin-bottom: 25px; padding:14px 0 0 74px; background-position: 3px 0; background-size: 60px auto;}
}

/* section03 */
#contents #section03 .block-ttl { padding:0 0 0 100px; background: url("../images/section03_ttlicon.png") 0 5px no-repeat;}
#section03 .table { border-right: solid 2px #00b287; border-left: solid 2px #767676; border-bottom: solid 2px #767676;}
#section03 .table .item { display: flex; justify-content: space-between;}
#section03 .table .item > p { width: 334px; padding-top: 70px; border-top: solid 1px #767676; text-align: center; font-weight: bold;}
#section03 .table .item > div { width: 321px; padding: 11px 30px; color: #fff; box-sizing: border-box;}
#section03 .table .item > div:nth-child(2) { background: #767676; border-top: solid 1px #767676; border-left: solid 1px #767676;}
#section03 .table .item > div:nth-child(3) { background: #00b287; border-top: solid 1px #00b287; border-left: solid 2px #00b287;}
#section03 .table .item > div .ttl { margin-bottom: 10px; padding-bottom: 5px; background: url("../images/cmn_dot.png") left bottom repeat-x; text-align: center; font-weight: bold;}
#section03 .table .item > div ul { font-size: 1.3rem;}
#section03 .table .item > div ul li { margin: 0 0 2px 1em; text-indent: -1em; line-height: 1.8;}
#section03 .table .item > div:nth-child(2) ul li::before { content: "●"; color: #989898;}
#section03 .table .item > div:nth-child(3) ul li::before { content: "●"; color: #96ead7;}

#section03 .table > ul > li { display: flex; justify-content: space-between;}
#section03 .table > ul > li:nth-child(odd) { background: #f0f0f0;}
#section03 .table > ul > li p { width: 321px; height: 80px; text-align: center; line-height: 1.8; font-weight: bold; font-size: 1.3rem; box-sizing: border-box;}
#section03 .table > ul > li p:nth-child(1) { width: 334px; padding: 18px 10px 0 87px; text-align: left; font-weight: normal;}
#section03 .table > ul > li p:nth-child(1).l1 { padding: 30px 10px 0 87px;}
#section03 .table > ul > li p:nth-child(2) { padding-top: 30px; border-left: solid 1px #767676;}
#section03 .table > ul > li p:nth-child(3) { padding-top: 30px; border-left: solid 2px #00b287; color: #00b287;}
#section03 .table > ul > li p:nth-child(3).l2 { padding-top: 18px;}

#section03 .table > ul > li:nth-child(1) p:first-child { background: url("../images/section03_icon01.png") 24px center no-repeat;}
#section03 .table > ul > li:nth-child(2) p:first-child { background: url("../images/section03_icon02.png") 20px center no-repeat;}
#section03 .table > ul > li:nth-child(3) p:first-child { background: url("../images/section03_icon03.png") 20px center no-repeat;}
#section03 .table > ul > li:nth-child(4) p:first-child { background: url("../images/section03_icon04.png") 23px center no-repeat;}
#section03 .table > ul > li:nth-child(5) p:first-child { background: url("../images/section03_icon05.png") 22px center no-repeat;}
#section03 .table > ul > li:nth-child(6) p:first-child { background: url("../images/section03_icon06.png") 20px center no-repeat;}

@media only screen and (max-width:768px) {
#contents #section03 .block-ttl { margin-bottom: 40px; padding:0 0 0 74px; background-size: 60px auto;}
#section03 .table { border:none;}
#section03 .table .item { display: block;}
#section03 .table .item > p { display: none;}
#section03 .table .item > div { width: 100%; margin-bottom: 35px; padding: 0;}
#section03 .table .item > div:nth-child(2) { background: #fff; border:none;}
#section03 .table .item > div:nth-child(3) { background: #fff; border:none;}
#section03 .table .item > div:nth-child(2) .ttl { margin-bottom: 13px; padding: 12px 0; background: #767676; border-radius: 10px; font-size: 1.7rem;}
#section03 .table .item > div:nth-child(3) .ttl { margin-bottom: 13px; padding: 12px 0; background: #00b287; border-radius: 10px; font-size: 1.7rem;}
#section03 .table .item > div ul { padding-left: 10px; color: #444; line-height: 1.6; font-size: 1.5rem;}

#section03 .table > ul > li { display: block; margin-bottom: 40px;}
#section03 .table > ul > li:nth-child(odd) { background: #fff;}
#section03 .table > ul > li:last-child { margin-bottom: 0;}
#section03 .table > ul > li p { width: 100%; height: auto; line-height: 1.5; font-weight: normal; font-size: 1.5rem;}
#section03 .table > ul > li p:nth-child(1){ width: 100%; margin-bottom: 20px; padding: 13px 10px 13px 85px; border: solid 2px #00b287; border-radius: 10px; text-align: left; color: #01a882; font-weight: bold;}
#section03 .table > ul > li p:nth-child(1).l1 { padding: 13px 10px 13px 85px;}
#section03 .table > ul > li p:nth-child(1) span { display: block; margin-bottom: 2px; color: #444; font-weight: normal; font-size: 1.4rem;}
#section03 .table > ul > li p:nth-child(2) { display: flex; align-items: center; padding:0 0 15px; margin-bottom: 15px; background: url("../images/cmn_dot_sp.png") left bottom repeat-x; background-size: auto 1px; border:none;}
#section03 .table > ul > li p:nth-child(3) { display: flex; align-items: center; padding:0; border:none;}
#section03 .table > ul > li p:nth-child(3).l2 { padding-top: 0;}
#section03 .table > ul > li p:nth-child(2) span.item01sp { width: 40%; padding: 17px 0; background: #767676; border-radius: 10px; text-align: center; color: #fff; font-weight: bold;}
#section03 .table > ul > li p:nth-child(3) span.item02sp { width: 40%; padding: 17px 0; background: #00b287; border-radius: 10px; text-align: center; color: #fff; font-weight: bold;}
#section03 .table > ul > li p span.txt { width: 60%; padding-left: 20px; text-align: left; box-sizing: border-box;}

#section03 .table > ul > li:nth-child(1) p:first-child { background-size: 43px auto; background-position: 22px center;}
#section03 .table > ul > li:nth-child(2) p:first-child { background-size: 54px auto; background-position: 16px center;}
#section03 .table > ul > li:nth-child(3) p:first-child { background-size: 51px auto; background-position: 18px center;}
#section03 .table > ul > li:nth-child(4) p:first-child { background-size: 50px auto; background-position: 18px center;}
#section03 .table > ul > li:nth-child(5) p:first-child { background-size: 54px auto; background-position: 16px center;}
#section03 .table > ul > li:nth-child(6) p:first-child { background-size: 52px auto; background-position: 15px center;}
}

/* section04 */
#contents #section04 { margin-bottom: 100px; padding-bottom: 0; border-bottom:none;}
#contents #section04 .block-ttl { height: 85px; padding: 8px 0 0 100px; background: url("../images/section04_ttlicon.png") 15px 0 no-repeat; line-height: 1.3; box-sizing: border-box;}
#section04 > ul.report { display: flex; justify-content: space-between; margin-bottom: 20px;}
#section04 > ul.report > li { position: relative; width: 300px; padding-bottom: 120px; border: solid 2px #00b287; border-radius: 5px; box-sizing: border-box;}
#section04 > ul.report > li .ttl { height: 80px; padding: 15px 0 0 15px; background: #00b287; text-align: center; color: #fff; font-weight: bold; box-sizing: border-box;}
#section04 > ul.report > li .ttl p { min-height: 45px; padding: 12px 0 0 45px; text-align: left; line-height: 1.6; box-sizing: border-box;}
#section04 > ul.report > li:nth-child(1) .ttl p { padding:0 0 0 45px; background: url("../images/section04_icon01.png") 0 2px no-repeat;}
#section04 > ul.report > li:nth-child(2) .ttl p { background: url("../images/section04_icon02.png") 0 2px no-repeat;}
#section04 > ul.report > li:nth-child(3) .ttl p { background: url("../images/section04_icon03.png") 0 2px no-repeat;}

#section04 > ul.report > li .inner { padding: 15px 20px 0; font-size: 1.3rem;}
#section04 > ul.report > li .inner ul { margin-bottom:15px;}
#section04 > ul.report > li .inner ul li { margin: 0 0 5px 1em; text-indent: -1em;}
#section04 > ul.report > li .inner ul li::before { content: "●"; color: #7cd9c3;}
#section04 > ul.report > li .inner div { margin-bottom: 10px;}
#section04 > ul.report > li .inner div p { display: flex; margin-bottom: 5px; font-weight: bold; color: #00b287;}
#section04 > ul.report > li .inner div p span { display: inline-block; white-space: nowrap; padding-right: 10px;}
#section04 > ul.report > li .term { position: absolute; width: 260px; bottom: 20px; left: 20px; font-size: 1.3rem;}
#section04 > ul.report > li .term p:first-child { margin-bottom: 10px; padding: 8px 0; background: #f0f0f0; border-radius: 50px; font-weight: bold; text-align: center;}
#section04 > ul.report > li .term p:last-child { padding-left: 5px;}

#section04 .att { margin-bottom: 55px;}
#section04 .att li { margin: 0 0 5px 1em; text-indent: -1em; font-size: 1.1rem;}
#section04 .att li::before { content: "※";}

@media only screen and (max-width:768px) {
#contents #section04 { margin-bottom: 70px;}
#contents #section04 .block-ttl { height: auto; margin-bottom: 40px; padding:0 0 0 74px; background-size: 48px auto; background-position: 10px 0;}
#contents #section04 .block-ttl h2 { margin-bottom: 3px;}
#contents #section04 .block-ttl p { line-height: 1.6; font-size: 1.6rem;}
#section04 > ul.report { display: block;}
#section04 > ul.report > li { width: 100%; margin-bottom: 30px; padding-bottom: 30px; border-radius: 10px;}
#section04 > ul.report > li:last-child { margin-bottom: 25px;}
#section04 > ul.report > li .ttl { height: auto; padding:15px;}
#section04 > ul.report > li .ttl p { min-height: 46px; font-size: 1.6rem;}
#section04 > ul.report > li:nth-child(1) .ttl p,
#section04 > ul.report > li:nth-child(2) .ttl p,
#section04 > ul.report > li:nth-child(3) .ttl p { background-size: 35px auto;}

#section04 > ul.report > li .inner { padding: 20px 15px 0; font-size: 1.5rem;}
#section04 > ul.report > li .inner div p { line-height: 1.6;}
#section04 > ul.report > li .term { position: static; width: 100%; padding: 25px 15px 0; font-size: 1.5rem; box-sizing: border-box;}
#section04 > ul.report > li .term p:first-child { padding: 12px 0;}
	
#section04 .att { margin-bottom: 40px; padding-left: 10px;}
#section04 .att li { font-size: 1.4rem;}
}

/* end css
------------------------------------------------------------------------------------------------------------------------------------ */